﻿using System;
using System.Runtime.InteropServices;

namespace Kyoh.Lib.Win32API
{
    /// <summary>ウィンドウの情報を定義します。</summary>
    [StructLayout(LayoutKind.Sequential)]
    public struct WindowInfo
    {
        /// <summary>構造体のサイズ。</summary>
        [CLSCompliant(false)]
        public uint Size;

        /// <summary>ウィンドウの表示矩形。</summary>
        public Rectangle Window;

        /// <summary>ウィンドウのクライアント部分の表示矩形。</summary>
        public Rectangle Client;

        /// <summary>ウィンドウのスタイル。</summary>
        [CLSCompliant(false)]
        public uint Style;

        /// <summary>ウィンドウの拡張スタイル。</summary>
        [CLSCompliant(false)]
        public uint ExStyle;

        /// <summary>ウィンドウの表示状態。</summary>
        [CLSCompliant(false)]
        public uint dwWindowStatus;

        /// <summary>ウィンドウの横枠線。</summary>
        [CLSCompliant(false)]
        public uint cxWindowBorders;

        /// <summary>ウィンドウの縦枠線。</summary>
        [CLSCompliant(false)]
        public uint cyWindowBorders;

        /// <summary>ウィンドウの種類。</summary>
        [CLSCompliant(false)]
        public ushort atomWindowType;

        /// <summary>ウィンドウの作成バージョン。</summary>
        [CLSCompliant(false)]
        public ushort wCreatorVersion;
    }
}
